﻿Imports System.Collections.ObjectModel

Imports System.Collections.Generic

Imports System

Imports Microsoft.VisualStudio.TestTools.UnitTesting

Imports Negocio



'''<summary>
'''Se trata de una clase de prueba para PedidoTest y se pretende que
'''contenga todas las pruebas unitarias PedidoTest.
'''</summary>
<TestClass()> _
Public Class PedidoTest


    Private testContextInstance As TestContext

    '''<summary>
    '''Obtiene o establece el contexto de la prueba que proporciona
    '''la información y funcionalidad para la ejecución de pruebas actual.
    '''</summary>
    Public Property TestContext() As TestContext
        Get
            Return testContextInstance
        End Get
        Set(value As TestContext)
            testContextInstance = Value
        End Set
    End Property

#Region "Atributos de prueba adicionales"
    '
    'Puede utilizar los siguientes atributos adicionales mientras escribe sus pruebas:
    '
    'Use ClassInitialize para ejecutar código antes de ejecutar la primera prueba en la clase 
    '<ClassInitialize()>  _
    'Public Shared Sub MyClassInitialize(ByVal testContext As TestContext)
    'End Sub
    '
    'Use ClassCleanup para ejecutar código después de haber ejecutado todas las pruebas en una clase
    '<ClassCleanup()>  _
    'Public Shared Sub MyClassCleanup()
    'End Sub
    '
    'Use TestInitialize para ejecutar código antes de ejecutar cada prueba
    '<TestInitialize()>  _
    'Public Sub MyTestInitialize()
    'End Sub
    '
    'Use TestCleanup para ejecutar código después de que se hayan ejecutado todas las pruebas
    '<TestCleanup()>  _
    'Public Sub MyTestCleanup()
    'End Sub
    '
#End Region


    '''<summary>
    '''Una prueba de ListaProductos
    '''</summary>
    <TestMethod()> _
    Public Sub ListaProductosTest()
        Dim Pedido As New Pedido
        Dim target As Integer = Pedido.ListaProductos.Count
        Dim actual As Integer = target
        Dim expected As Integer = 0

        Assert.AreEqual(expected, actual)
    End Sub

    '''<summary>
    '''Una prueba de PrecioTotal
    '''</summary>
    <TestMethod()> _
    Public Sub PrecioTotalTest()
        Dim Producto As New Producto(Producto.tipoproducto.Bebida, "cocacola", 10, "bebida con cafeina", "cocacola.jpg")
        Dim gestion As New GestionProductos
        gestion.Añadir(Producto)
        Dim prodped As New ProductoPedido("cocacola", 2)
        Dim cliente As New Cliente("yeray", "yeray", "yeray@yeray.com", "1111111111111111", "12/18")
        Dim gestCli As New GestionClientes
        gestCli.Añadir(cliente)
        Dim listaProductos As New List(Of ProductoPedido)
        listaProductos.Add(prodped)
        Dim ped As New Pedido("yeray", #12/12/2015#, listaProductos)
        Dim target As Decimal = ped.PrecioTotal
        Dim actual As Decimal = target
        Dim expected As Decimal = 20
        Assert.AreEqual(expected, actual)






    End Sub
End Class
